This invention relates generally to logic delay test methodology, and more specifically, to circuit design techniques and methods related to test pattern generation.
Verifying correct circuit operation of digital logic circuits at their full speed clock rate remains an important activity for semiconductor manufacturers when testing integrated circuits. Static tests that assume and verify fixed logic states at predetermined test nodes are useful in verifying functionality of logic circuitry, but such tests do not verify proper operation at the system clock speed. When circuitry is operating at the system clock speed, some logic circuit signals may not propagate in time to be latched by output latches or internal latches. Defect mechanisms such as cross-talk, process variations, ground bounce, etc., affect circuit functionality by introducing delays. Such timing failures result in system failure. Failures that cause logic circuitry to malfunction at desired clock rates are known as delay faults. Therefore the purpose of delay testing is to verify that a circuit design operates correctly at a specific clock speed.
Two fault models that have been proposed for testing delay faults are the transition fault model and the path delay model. The path delay model assumes that a delay will manifest itself on a specific path of the circuit. As a result, there are a very large number of paths to test. The transition fault model assumes a gross delay, i.e., gate delay faults manifest themselves on all paths passing through the fault site. Hence, sensitizing any path that passes by the fault site is enough to detect the fault. The transition fault model requires pairs of vectors as test vectors. Two common methods to generate a transition fault test for scan-based designs are known as a skewed-load method and a broad-side method. In the skewed load test, a scan latch is loaded with a test pattern or vector from a tester. The first pattern sets up an initialization value for the logic to be tested. A second pattern or vector is a one-bit shift over the first pattern or vector and is also provided by the tester. The second pattern or vector must be sequentially clocked through the scan latch and needs to have a value that provokes a desired transition at the site of the fault. The effect of the transition is propagated to a primary output or to an observe point (i.e. a scan latch). Because the second pattern represents a one-bit shift over the first pattern, the second pattern may not readily provide a needed value to obtain the desired transition. The result is that there may be loss of coverage in testing certain delay faults by using the skewed-load test. Also, the skewed-load model requires the shift clock of the scan latch to operate at system speed. In most circuits, the scan clock of scan latches operates at a much slower speed due to performance and area factors of the scan latch design. As a result, the skewed-load test has a speed restraint. Additionally, the vector pairs that can be applied by skew-load testing might activate certain transactions that are impossible to activate functionally.
In the broad-side method, the second vector is not scanned from a tester, but rather is generated from the response of the design block driving the combinational circuitry being tested. Therefore, detailed knowledge of the circuitry in the driving block is required in order to know what inputs are required to generate a desired output value. The broad-side method requires two cycles of sequential processing and this method has limited capability to generate a rich set of two-pattern tests. The sequential processing of the broad-side method results in less than optimal fault coverage using commercially available automated test pattern generation (ATPG) tools. The two time-frame sequential processing is difficult for many commercially available ATPG tools and results in long run times and low coverage.